A dynamic compiler mitigates this cost by eventually compiling all the interpreted methods that are frequently called by JIT compiled code, but without a dynamic compiler, this cost can't be hidden. 动态编译器通过最终编译所有由JIT编译代码频繁调用的那些解释过的方法来减少这项开销,但是如果不使用动态编译器,则这项开销就不可避免。
In a JVM with an active JIT compiler, this cost is eventually eliminated by compiling "around the edges" of the compiled code until the number of transitions is too small to impact performance. 在具有活动JIT编译器的JVM中,会通过不断编译编译代码的“边缘部分”,直到转换次数不会影响性能为止,最终消除这种代价。
The goal is either to avoid the JIT compiler's run-time performance or memory cost or to avoid the interpreter's early performance overhead. 目的在于避免JIT编译器的运行时性能消耗或内存消耗,或者避免解释程序的早期性能开销。